---
name: useUpdateLayoutEffect
route: /useUpdateLayoutEffect
menu: 'LifeCycle'
edit: false
sidebar: true
---
import JackBox from 'jackbox';

import Demo1 from './demo/demo1';
import Demo1CodeTsx from '!raw-loader!./demo/demo1.tsx';
import Demo1CodeJsx from '!raw-loader!./demo/demo1.jsx';

# useUpdateLayoutEffect

一个只在依赖更新时执行的 useLayoutEffect Hook。

## 代码演示

### 基础使用
<JackBox jsCode={Demo1CodeJsx} tsCode={Demo1CodeTsx} demoName='基础使用' description='使用上与 useLayoutEffect 完全相同，只是它忽略了首次渲染，且只在依赖项更新时运行。'>
  <Demo1 />
</JackBox>

## API

```javascript
useUpdateLayoutEffect(
  effect: () => (void | (() => void | undefined)),
  deps?: deps,
)
```

### 参数

| 参数    | 说明                                         | 类型                   | 默认值 |
|---------|----------------------------------------------|------------------------|--------|
| effect | 可执行函数  | () => (void | (() => void | undefined)) | -      |
| deps | 可选项，传入依赖变化的对象  | array \| undefined | -      |